<?php
 /*
 Cette classe centralise toutes les arrivées de parametres $_POST et $_GET, cela permet de ne pas se soussier de la nature du parametre
 Elle permet egalement d'ajouter des objets (methode addObject) et (des messages)
 Ces objets et messages sont generalement ajoutés dans les classes d'action et recuperes dans les  vues
 on decouple ainsi les classes de vues et d'actions en mettant les objets dans la requete (ainsi il n'y a pas de lien direct entre l'action et la vue)
 */
class HTTPRequest
{

	private $objects = array();
	private $messages = array();
	
	function __construct()
	{
	
   }
  
	
	//ajoute un parametre $_POST(cle) ou $_GET(cle)
   function setParameter( $key, $val ) { 
        $this->$_REQUEST[$key]=$val;
    }   
   
   	//recupere un parametre $_POST(cle) ou $_GET(cle)
   public function getParameter($key) {
    if (isset($_REQUEST[$key])) { 
		return addslashes($_REQUEST[$key]);
	 }
	 return "";
  }
  
  
   
	//verifie si un parametre existe
  public function isParameterExist($key)
  {
    return isset($_REQUEST[$key]);
  }
  
  //ajoute un objet a la requete
   function addObject( $name, $object ) {
        $this->objects[$name] = $object;
    }

	//recupere un objet passé a la requete
    function getObject( $name ) {
        if ( isset( $this->objects[$name] ) ) {
            return $this->objects[$name];
        }
        return null;
    }
	
	//ajoute un message 
	function addMessage( $message ) {
        array_push($this->messages, $message);
    }
	
	//recupere un message (dans les templates en general)
    function getMessages( ) {
        if ( isset( $this->messages) ) {
            return $this->messages;
        }
        return null;
    }
	
	
 
}